# Evaluate module for model performance metrics
from sklearn.metrics import accuracy_score, f1_score

def evaluate_accuracy(y_true, y_pred):
    """
    @brief 计算准确率
    @param y_true: 真实标签
    @param y_pred: 预测标签
    @return: 准确率
    @exception ValueError: 如果 y_true 和 y_pred 的长度不一致
    """
    return accuracy_score(y_true, y_pred)

def evaluate_f1(y_true, y_pred):
    """
    @brief 计算加权F1-score
    @param y_true: 真实标签
    @param y_pred: 预测标签
    @return: 加权F1-score
    @exception ValueError: 如果 y_true 和 y_pred 的长度不一致
    @exception TypeError: 如果 y_true 或 y_pred 不是一维数组
    """
    return f1_score(y_true, y_pred, average='weighted')